﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace T06ArrayType
{
    class Program
    {
        static void Main(string[] args)
        {
            一维数组
            #region System.Array类

            int[] array1 = new int[10];
            int[] array2 = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };

            for (int j = 0; j < array1.Length; j++)
            {
                array1[j] = (j + 1) * 10;
            }
            foreach (int _x in array2)
            {
                Console.Write($"{_x}\t");
            }
            Console.WriteLine("==========一维数组===========");
            #region System.Array类
            //System.Array的使用，拆箱装箱
            Console.WriteLine(array1.Max());
            Console.WriteLine(array1.Min());
            foreach (int _x in array1.Reverse())
            {
                Console.Write($"{_x}\t");

            }
            Console.WriteLine("==========Array包装类===========");

            #endregion
            Console.WriteLine(array1.Max());
            Console.WriteLine(array1.Min());

            foreach (int _x in array1.Reverse())
            {
                Console.Write($"{_x}\t");
            }
            Console.WriteLine("==========Array包装类===========");

            #region 多维数组
            int[,] array3 = new int[3, 4];//二维数组
            int[,,] array3 = new int[3, 4, 5];//三维数组
            for (int i = 0; i < array3.GetLength(0); i++)//0--表示二维数组的第一维
            {
                for (int j = 0; j < array3.GetLength(1); j++) //1--表示二维数组的第二维
                {
                    array3[i, j] = (i + 1) * (j + 1);

                }
                Console.WriteLine();
            }
            #endregion

            #region 数组的数组

            int[][] array5 = new int[3][];//具有三个数组元素的数组

            ////初始化
            //for (int i=0;i<3;i++)
            //{
            //    array5[i]=nwe int[4];//创建每个数组元素--为4个元素的数组
            //}
            array5[0] = new int[2] { 1, 2};
            array5[0] = new int[3] { 1, 2 ,3};
            array5[0] = new int[4] { 1, 2, 3, 4 };

            foreach (int[] arr in array5)
            {
                foreach (int _x in arr)

                    Console.Write($"{_x}\t");
            }
            Console.WriteLine();

            Console.WriteLine("=========数组的数组===========");

            /*
             * 快捷键
             * Ctrl+k,c 添加行注释
             * Ctrl+k,u 取消行注释
             * Ctrl+k,d 格式化代码
             */
            Console.ReadKey();

           


        }
    }
}
